On High-Assurance Information-Flow-Secure
نویسنده
چکیده
Early work on information flow security sought to develop theories for proving the absence of unwanted information leakage in high-assurance systems, like those that process classified data. Decades later, modern security-critical systems are more prevalent, face greater security threats, but are rarely formally proved to be information-flow secure, not least because doing so remains fairly expensive [5]. Information-flow-secure programming languages, like Jif, JSFlow, LIO and Paragon, offer hope for reducing the cost of building information flow secure systems. However, they are ill-suited to building formally verified high-assurance systems because each has an overly large trusted computing base (TCB). For instance, Jif and Paragon both rely on Java, so their TCB includes not only their compiler but also the Java TCB — which in 2002 comprised anywhere upwards of 50,000 to 230,000 lines of unverified code [1]. We argue that high-assurance systems demand highassurance information-flow-secure programming languages. The compiler for such a language shouldn’t have to be trusted. Instead, its output should be automatically formally certified as being secure. Recognising that security is the overriding concern for these systems, such a language can also eschew general-purpose language features to reduce its TCB, and ease the certification of its compiler-produced output [2]. Such languages must handle the concurrency and dynamism of modern high-assurance systems, and allow compositional security reasoning with assumptions. Consider a dualpersonality smartphone whose classified personality allows the user to send and receive classified information that is never revealed outside this personality. Figure 1 contains a simplified fragment of a hypothetical input driver component, which directs user input to the currently active personality. Input arrives via the input variable, and is copied via the temp variable to one of two input buffer variables, low and high, depending on which personality is active, stored in the cur pers variable. input is updated by some other concurrently running component when new input is available; cur pers is updated when the user switches personalities. Here, the classification of the data held by the input variable varies dynamically. At any point in time, its classification is determined by the cur pers variable: input is classified Low iff cur pers is zero, and is High otherwise. Thus input’s classification is value-dependent [3, 6]. The comments encode assumptions that this code makes to be correct. It assumes that no other component will (1) modify 1 // assume : NoWrite input 2 // assume : NoReadOrWrite temp 3 temp = input; 4 if ( cur_pers == 0) 5 low = temp; 6 else 7 high = temp; 8 temp = 0; // clear temp
منابع مشابه
A Common Criteria-Based Team Project for High Assurance Secure Systems
Most courses in information security do not provide students with practical experience in high assurance development. To complement a course in secure systems that focuses on foundational principles of constructive security, a laboratory project that requires students to work in teams while meeting Common Criteria Evaluation Assurance Level (EAL) 6 assurance requirements has been created. The o...
متن کاملSpecifying and enforcing a multi-policy paradigm for high assurance multi-enclave systems
One fundamental key to successful implementation of secure high assurance computer systems is the design and implementation of security policies. For systems enforcing multiple concurrent policies, the design and implementation is a challenging and difficult task. To simplify this task, we present an Inter-Enclave Multi-Policy (IEMP) paradigm for information access of the Multiple Independent L...
متن کاملImproving Inter-Enclave Information Flow for a Secure Strike Planning Application
DoD operates many system high enclaves with limited information ow between enclaves at di erent security levels. Too often, the result is duplication of operations and inconsistent and untimely data at different sites, which reduces the e ectiveness of DoD decision support systems. This paper describes our solution to this problem as it arises in installations of the Joint Maritime Command Info...
متن کاملImproving Inter - Enclave Information Flow for a Secure StrikePlanning
DoD operates many system high enclaves with limited information ow between enclaves at diierent security levels. Too often, the result is duplication of operations and inconsistent and untimely data at different sites, which reduces the eeectiveness of DoD decision support systems. This paper describes our solution to this problem as it arises in installations of the Joint Maritime Command Info...
متن کاملSemantic Information Assurance for Secure Distributed Knowledge Management: A Business Process Perspective By: Rahul Singh and Al F. Salam Singh, Rahul and Salam, A. F. "Semantic Information Assurance for Secure Distributed Knowledge Management: A Business Process Perspective" IEEE Transactions
Secure knowledge management for eBusiness processes that span multiple organizations requires intraorganizational and interorganizational perspectives on security and access control issues. There is paucity in research on information assurance of distributed interorganizational eBusiness processes from a business process perspective. This paper presents a framework for secure semantic eBusiness...
متن کامل